package cn.iocoder.yudao.module.ent.document.node;

import cn.iocoder.yudao.module.ent.document.BaseNode;
import lombok.Data;
import org.springframework.data.elasticsearch.annotations.Document;
import org.springframework.data.elasticsearch.annotations.Field;
import org.springframework.data.elasticsearch.annotations.FieldType;

import java.util.List;

/**
 * 简易注销公告 节点
 */

@Document(indexName = "node_simplecancellation")
@Data
public class NodeSimpleCancellation extends BaseNode {

    //公司数据加密id
    @Field(name = "cid", type = FieldType.Keyword)
    private String cid;

    @Field(name = "create_time", type = FieldType.Text)
    private String createTime;

    @Field(name = "code", type = FieldType.Long)
    private Long code;

    //统一社会信用代码/注册号
    @Field(name = "creditNo", type = FieldType.Text)
    private String creditNo;

    //登记机关
    @Field(name = "departMent", type = FieldType.Text)
    private String departMent;

    //企业名称
    @Field(name = "entName", type = FieldType.Text)
    private String entName;

    //公告期
    @Field(name = "noticePeriodDate", type = FieldType.Text)
    private String noticePeriodDate;

    @Field(name = "gsScaObjections", type = FieldType.Nested)
    private List<GsScaObjections> gsScaObjections;

    @Field(name = "gsScaResult", type = FieldType.Nested)
    private List<gsScaResult> gsScaResult;

    class GsScaObjections {

        //内容
        @Field(name = "content", type = FieldType.Text)
        private String content;

        //日期
        @Field(name = "date", type = FieldType.Text)
        private String date;

        @Field(name = "eid", type = FieldType.Text)
        private String eid;

        @Field(name = "proposer", type = FieldType.Text)
        private String proposer;

        //内容
        @Field(name = "seq_no", type = FieldType.Long)
        private Long seqNo;

    }

    class gsScaResult {

        //详情标题
        @Field(name = "date", type = FieldType.Text)
        private String date;

        //详情内容
        @Field(name = "result", type = FieldType.Text)
        private String result;
    }

}
